# RUN: llvm-mc --disassemble %s -triple=i686 | FileCheck %s --check-prefixes=ATT
# RUN: llvm-mc --disassemble %s -triple=i686 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL

# ATT:   vpdpbssd %ymm4, %ymm3, %ymm2
# INTEL: vpdpbssd ymm2, ymm3, ymm4
0xc4,0xe2,0x67,0x50,0xd4

# ATT:   vpdpbssd %xmm4, %xmm3, %xmm2
# INTEL: vpdpbssd xmm2, xmm3, xmm4
0xc4,0xe2,0x63,0x50,0xd4

# ATT:   vpdpbssd  268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL: vpdpbssd ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x67,0x50,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:   vpdpbssd  291(%edi,%eax,4), %ymm3, %ymm2
# INTEL: vpdpbssd ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x67,0x50,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:   vpdpbssd  (%eax), %ymm3, %ymm2
# INTEL: vpdpbssd ymm2, ymm3, ymmword ptr [eax]
0xc4,0xe2,0x67,0x50,0x10

# ATT:   vpdpbssd  -1024(,%ebp,2), %ymm3, %ymm2
# INTEL: vpdpbssd ymm2, ymm3, ymmword ptr [2*ebp - 1024]
0xc4,0xe2,0x67,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff

# ATT:   vpdpbssd  268435456(%esp,%esi,8), %xmm3, %xmm2
# INTEL: vpdpbssd xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x63,0x50,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:   vpdpbssd  291(%edi,%eax,4), %xmm3, %xmm2
# INTEL: vpdpbssd xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x63,0x50,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:   vpdpbssd  (%eax), %xmm3, %xmm2
# INTEL: vpdpbssd xmm2, xmm3, xmmword ptr [eax]
0xc4,0xe2,0x63,0x50,0x10

# ATT:   vpdpbssd  -512(,%ebp,2), %xmm3, %xmm2
# INTEL: vpdpbssd xmm2, xmm3, xmmword ptr [2*ebp - 512]
0xc4,0xe2,0x63,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff

# ATT:   vpdpbssds %ymm4, %ymm3, %ymm2
# INTEL: vpdpbssds ymm2, ymm3, ymm4
0xc4,0xe2,0x67,0x51,0xd4

# ATT:   vpdpbssds %xmm4, %xmm3, %xmm2
# INTEL: vpdpbssds xmm2, xmm3, xmm4
0xc4,0xe2,0x63,0x51,0xd4

# ATT:   vpdpbssds  268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL: vpdpbssds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x67,0x51,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:   vpdpbssds  291(%edi,%eax,4), %ymm3, %ymm2
# INTEL: vpdpbssds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x67,0x51,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:   vpdpbssds  (%eax), %ymm3, %ymm2
# INTEL: vpdpbssds ymm2, ymm3, ymmword ptr [eax]
0xc4,0xe2,0x67,0x51,0x10

# ATT:   vpdpbssds  -1024(,%ebp,2), %ymm3, %ymm2
# INTEL: vpdpbssds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
0xc4,0xe2,0x67,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff

# ATT:   vpdpbssds  268435456(%esp,%esi,8), %xmm3, %xmm2
# INTEL: vpdpbssds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x63,0x51,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:   vpdpbssds  291(%edi,%eax,4), %xmm3, %xmm2
# INTEL: vpdpbssds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x63,0x51,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:   vpdpbssds  (%eax), %xmm3, %xmm2
# INTEL: vpdpbssds xmm2, xmm3, xmmword ptr [eax]
0xc4,0xe2,0x63,0x51,0x10

# ATT:   vpdpbssds  -512(,%ebp,2), %xmm3, %xmm2
# INTEL: vpdpbssds xmm2, xmm3, xmmword ptr [2*ebp - 512]
0xc4,0xe2,0x63,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff

# ATT:   vpdpbsud %ymm4, %ymm3, %ymm2
# INTEL: vpdpbsud ymm2, ymm3, ymm4
0xc4,0xe2,0x66,0x50,0xd4

# ATT:   vpdpbsud %xmm4, %xmm3, %xmm2
# INTEL: vpdpbsud xmm2, xmm3, xmm4
0xc4,0xe2,0x62,0x50,0xd4

# ATT:   vpdpbsud  268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL: vpdpbsud ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x66,0x50,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:   vpdpbsud  291(%edi,%eax,4), %ymm3, %ymm2
# INTEL: vpdpbsud ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x66,0x50,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:   vpdpbsud  (%eax), %ymm3, %ymm2
# INTEL: vpdpbsud ymm2, ymm3, ymmword ptr [eax]
0xc4,0xe2,0x66,0x50,0x10

# ATT:   vpdpbsud  -1024(,%ebp,2), %ymm3, %ymm2
# INTEL: vpdpbsud ymm2, ymm3, ymmword ptr [2*ebp - 1024]
0xc4,0xe2,0x66,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff

# ATT:   vpdpbsud  268435456(%esp,%esi,8), %xmm3, %xmm2
# INTEL: vpdpbsud xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x62,0x50,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:   vpdpbsud  291(%edi,%eax,4), %xmm3, %xmm2
# INTEL: vpdpbsud xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x62,0x50,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:   vpdpbsud  (%eax), %xmm3, %xmm2
# INTEL: vpdpbsud xmm2, xmm3, xmmword ptr [eax]
0xc4,0xe2,0x62,0x50,0x10

# ATT:   vpdpbsud  -512(,%ebp,2), %xmm3, %xmm2
# INTEL: vpdpbsud xmm2, xmm3, xmmword ptr [2*ebp - 512]
0xc4,0xe2,0x62,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff

# ATT:   vpdpbsuds %ymm4, %ymm3, %ymm2
# INTEL: vpdpbsuds ymm2, ymm3, ymm4
0xc4,0xe2,0x66,0x51,0xd4

# ATT:   vpdpbsuds %xmm4, %xmm3, %xmm2
# INTEL: vpdpbsuds xmm2, xmm3, xmm4
0xc4,0xe2,0x62,0x51,0xd4

# ATT:   vpdpbsuds  268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL: vpdpbsuds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x66,0x51,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:   vpdpbsuds  291(%edi,%eax,4), %ymm3, %ymm2
# INTEL: vpdpbsuds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x66,0x51,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:   vpdpbsuds  (%eax), %ymm3, %ymm2
# INTEL: vpdpbsuds ymm2, ymm3, ymmword ptr [eax]
0xc4,0xe2,0x66,0x51,0x10

# ATT:   vpdpbsuds  -1024(,%ebp,2), %ymm3, %ymm2
# INTEL: vpdpbsuds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
0xc4,0xe2,0x66,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff

# ATT:   vpdpbsuds  268435456(%esp,%esi,8), %xmm3, %xmm2
# INTEL: vpdpbsuds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x62,0x51,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:   vpdpbsuds  291(%edi,%eax,4), %xmm3, %xmm2
# INTEL: vpdpbsuds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x62,0x51,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:   vpdpbsuds  (%eax), %xmm3, %xmm2
# INTEL: vpdpbsuds xmm2, xmm3, xmmword ptr [eax]
0xc4,0xe2,0x62,0x51,0x10

# ATT:   vpdpbsuds  -512(,%ebp,2), %xmm3, %xmm2
# INTEL: vpdpbsuds xmm2, xmm3, xmmword ptr [2*ebp - 512]
0xc4,0xe2,0x62,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff

# ATT:   vpdpbuud %ymm4, %ymm3, %ymm2
# INTEL: vpdpbuud ymm2, ymm3, ymm4
0xc4,0xe2,0x64,0x50,0xd4

# ATT:   vpdpbuud %xmm4, %xmm3, %xmm2
# INTEL: vpdpbuud xmm2, xmm3, xmm4
0xc4,0xe2,0x60,0x50,0xd4

# ATT:   vpdpbuud  268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL: vpdpbuud ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x64,0x50,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:   vpdpbuud  291(%edi,%eax,4), %ymm3, %ymm2
# INTEL: vpdpbuud ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x64,0x50,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:   vpdpbuud  (%eax), %ymm3, %ymm2
# INTEL: vpdpbuud ymm2, ymm3, ymmword ptr [eax]
0xc4,0xe2,0x64,0x50,0x10

# ATT:   vpdpbuud  -1024(,%ebp,2), %ymm3, %ymm2
# INTEL: vpdpbuud ymm2, ymm3, ymmword ptr [2*ebp - 1024]
0xc4,0xe2,0x64,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff

# ATT:   vpdpbuud  268435456(%esp,%esi,8), %xmm3, %xmm2
# INTEL: vpdpbuud xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x60,0x50,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:   vpdpbuud  291(%edi,%eax,4), %xmm3, %xmm2
# INTEL: vpdpbuud xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x60,0x50,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:   vpdpbuud  (%eax), %xmm3, %xmm2
# INTEL: vpdpbuud xmm2, xmm3, xmmword ptr [eax]
0xc4,0xe2,0x60,0x50,0x10

# ATT:   vpdpbuud  -512(,%ebp,2), %xmm3, %xmm2
# INTEL: vpdpbuud xmm2, xmm3, xmmword ptr [2*ebp - 512]
0xc4,0xe2,0x60,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff

# ATT:   vpdpbuuds %ymm4, %ymm3, %ymm2
# INTEL: vpdpbuuds ymm2, ymm3, ymm4
0xc4,0xe2,0x64,0x51,0xd4

# ATT:   vpdpbuuds %xmm4, %xmm3, %xmm2
# INTEL: vpdpbuuds xmm2, xmm3, xmm4
0xc4,0xe2,0x60,0x51,0xd4

# ATT:   vpdpbuuds  268435456(%esp,%esi,8), %ymm3, %ymm2
# INTEL: vpdpbuuds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x64,0x51,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:   vpdpbuuds  291(%edi,%eax,4), %ymm3, %ymm2
# INTEL: vpdpbuuds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x64,0x51,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:   vpdpbuuds  (%eax), %ymm3, %ymm2
# INTEL: vpdpbuuds ymm2, ymm3, ymmword ptr [eax]
0xc4,0xe2,0x64,0x51,0x10

# ATT:   vpdpbuuds  -1024(,%ebp,2), %ymm3, %ymm2
# INTEL: vpdpbuuds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
0xc4,0xe2,0x64,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff

# ATT:   vpdpbuuds  268435456(%esp,%esi,8), %xmm3, %xmm2
# INTEL: vpdpbuuds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
0xc4,0xe2,0x60,0x51,0x94,0xf4,0x00,0x00,0x00,0x10

# ATT:   vpdpbuuds  291(%edi,%eax,4), %xmm3, %xmm2
# INTEL: vpdpbuuds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
0xc4,0xe2,0x60,0x51,0x94,0x87,0x23,0x01,0x00,0x00

# ATT:   vpdpbuuds  (%eax), %xmm3, %xmm2
# INTEL: vpdpbuuds xmm2, xmm3, xmmword ptr [eax]
0xc4,0xe2,0x60,0x51,0x10

# ATT:   vpdpbuuds  -512(,%ebp,2), %xmm3, %xmm2
# INTEL: vpdpbuuds xmm2, xmm3, xmmword ptr [2*ebp - 512]
0xc4,0xe2,0x60,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff

